The present invention relates generally to application deployment, and more particularly to deploying an application in a distributed processing environment.
When deploying an application in a distributed processing environment (such as a cloud environment), an advantage from an application development perspective is that little or no consideration may be made by the application developer as to where the application is deployed. For instance, as long as the application can use the resource(s) it requires, the application will run on the platform it is deployed on. However, at a management level, the consideration as to which platform the application should be used to host the application can depend on many factors. Such factors may, for example, include: (i) the technical ability to host the application, e.g., whether or not the platform has the resources and/or functionality required to host the application; (ii) whether there are multiple platforms where an application may be hosted; and (iii) operating capacity of the platform(s).
Many considerations may therefore be important when it is decided how and where to deploy an application in a distributed processing environment and, as detailed above, an application developer may not know or be concerned about such considerations. Indeed, requiring an application developer to be fully aware of an application's needs and deployment consideration may place an undue burden on the developer and may require significant effort and resources to be consumed. Accordingly, it will be beneficial to provide assistance in the deployment of an application in a distributed processing environment and reduce an amount of human input and/or interaction that may otherwise be required.